<!DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="Content-Type" content="html/html; charset=utf-8" />
		<title>MMORoomSettings Class Reference</title>
		<meta id="xcode-display" name="xcode-display" content="render"/>
		<link rel="stylesheet" type="text/css" href="../css/styles.css" media="all" />
		<link rel="stylesheet" type="text/css" media="print" href="../css/stylesPrint.css" />
		<meta name="generator" content="appledoc 2.2 (build 963)" />
	</head>
	<body>
		<header id="top_header">
			<div id="library" class="hideInXcode">
				<h1><a id="libraryTitle" href="../index.html">SFS2X API v1.3.7 </a></h1>
				<a id="developerHome" href="../index.html">gotoAndPlay() / A51 Integrated</a>
			</div>
			
			<div id="title" role="banner">
				<h1 class="hideInXcode">MMORoomSettings Class Reference</h1>
			</div>
			<ul id="headerButtons" role="toolbar">
				<li id="toc_button">
					<button aria-label="Show Table of Contents" role="checkbox" class="open" id="table_of_contents"><span class="disclosure"></span>Table of Contents</button>
				</li>
				<li id="jumpto_button" role="navigation">
					<select id="jumpTo">
	<option value="top">Jump To&#133;</option>
	
	<option value="overview">Overview</option>
	
	
	
	
	<option value="tasks">Tasks</option>
	
	
	
	
	
	<option value="properties">Properties</option>
	
	<option value="//api/name/defaultAOI">&nbsp;&nbsp;&nbsp;&nbsp;defaultAOI</option>
	
	<option value="//api/name/mapLimits">&nbsp;&nbsp;&nbsp;&nbsp;mapLimits</option>
	
	<option value="//api/name/proximityListUpdateMillis">&nbsp;&nbsp;&nbsp;&nbsp;proximityListUpdateMillis</option>
	
	<option value="//api/name/sendAOIEntryPoint">&nbsp;&nbsp;&nbsp;&nbsp;sendAOIEntryPoint</option>
	
	<option value="//api/name/userMaxLimboSeconds">&nbsp;&nbsp;&nbsp;&nbsp;userMaxLimboSeconds</option>
	
	
	
	
	<option value="class_methods">Class Methods</option>
	
	<option value="//api/name/settingsWithName:">&nbsp;&nbsp;&nbsp;&nbsp;+ settingsWithName:</option>
	
	
	
	
	<option value="instance_methods">Instance Methods</option>
	
	<option value="//api/name/initWithName:">&nbsp;&nbsp;&nbsp;&nbsp;- initWithName:</option>
	
	
	
</select>
				</li>
			</ul>
		</header>
		<nav id="tocContainer" class="isShowingTOC">
			<ul id="toc" role="tree">
				
<li role="treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#overview">Overview</a></span></li>




<li role="treeitem" id="task_treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#tasks">Tasks</a></span><ul>
	
</ul></li>





<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#properties">Properties</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/defaultAOI">defaultAOI</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/mapLimits">mapLimits</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/proximityListUpdateMillis">proximityListUpdateMillis</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/sendAOIEntryPoint">sendAOIEntryPoint</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/userMaxLimboSeconds">userMaxLimboSeconds</a></span></li>
	
</ul></li>



<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#class_methods">Class Methods</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/settingsWithName:">settingsWithName:</a></span></li>
	
</ul></li>



<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/initWithName:">initWithName:</a></span></li>
	
</ul></li>


			</ul>
		</nav>
		<article>
			<div id="contents" class="isShowingTOC" role="main">
				<a title="MMORoomSettings Class Reference" name="top"></a>
				<div class="main-navigation navigation-top">
					<ul>
	<li><a href="../index.html">Index</a></li>
	<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
				</div>
				<div id="header">
					<div class="section-header">
						<h1 class="title title-header">MMORoomSettings Class Reference</h1>
					</div>		
				</div>
				<div id="container">	
					
					<div class="section section-specification"><table cellspacing="0"><tbody>
						<tr>
	<td class="specification-title">Inherits from</td>
	<td class="specification-value"><a href="../Classes/RoomSettings.html">RoomSettings</a> : NSObject</td>
</tr><tr>
	<td class="specification-title">Declared in</td>
	<td class="specification-value">MMORoomSettings.h<br />MMORoomSettings.m</td>
</tr>
						</tbody></table></div>
					
                    
                    
					
					<div class="section section-overview">
						<a title="Overview" name="overview"></a>
						<h2 class="subtitle subtitle-overview">Overview</h2>
						<p>The MMORoomSettings class is a container for the settings required to create an MMORoom using the <a href="../Classes/CreateRoomRequest.html">CreateRoomRequest</a> request.</p>
					</div>
					
					
					
					
					
					<div class="section section-tasks">
						<a title="Tasks" name="tasks"></a>
						<h2 class="subtitle subtitle-tasks">Tasks</h2>
						
						
						
						

						<ul class="task-list">
							<li>
	<span class="tooltip">
		<code><a href="#//api/name/defaultAOI">&nbsp;&nbsp;defaultAOI</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/mapLimits">&nbsp;&nbsp;mapLimits</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/userMaxLimboSeconds">&nbsp;&nbsp;userMaxLimboSeconds</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/proximityListUpdateMillis">&nbsp;&nbsp;proximityListUpdateMillis</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/sendAOIEntryPoint">&nbsp;&nbsp;sendAOIEntryPoint</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/initWithName:">&ndash;&nbsp;initWithName:</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/settingsWithName:">+&nbsp;settingsWithName:</a></code>
	</span>
	
	
</li>
						</ul>
						
					</div>
					
					
					
					
					
					<div class="section section-methods">
						<a title="Properties" name="properties"></a>
						<h2 class="subtitle subtitle-methods">Properties</h2>
						
						<div class="section-method">
	<a name="//api/name/defaultAOI" title="defaultAOI"></a>
	<h3 class="subsubtitle method-title">defaultAOI</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Defines the Area of Interest (AoI) for the MMORoom.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (strong, nonatomic) Vec3D *defaultAOI</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Defines the Area of Interest (AoI) for the MMORoom.</p>

<p>This value represents the area/range around the user that will be affected by server events and other users events. It is represented by a <a href="../Classes/Vec3D.html">Vec3D</a> object providing 2D or 3D coordinates.</p>

<p>NOTE: Setting this value is mandatory.</p>

<p>Example #1: a Vec3D(50,50) describes a range of 50 units (e.g. pixels) in all four directions (top, bottom, left, right) with respect to the user position in a 2D coordinates system.</p>

<p>Example #2: a Vec3D(120,120,60) describes a range of 120 units in all four directions (top, bottom, left, right) and 60 units along the two Z-axis directions (backward, forward) with respect to the user position in a 3D coordinates system.</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Classes/Vec3D.html">Vec3D</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MMORoomSettings.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/mapLimits" title="mapLimits"></a>
	<h3 class="subsubtitle method-title">mapLimits</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Defines the limits of the virtual environment represented by the MMORoom.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (strong, nonatomic) MapLimits *mapLimits</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Defines the limits of the virtual environment represented by the MMORoom.</p>

<p>When specified, this property must contain two non-null <a href="../Classes/Vec3D.html">Vec3D</a> objects representing the minimum and maximum limits of the 2D/3D coordinates systems. Any positional value that falls outside the provided limit will be refused by the server.</p>

<p>This setting is optional but its usage is highly recommended.</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Classes/Vec3D.html">Vec3D</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MMORoomSettings.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/proximityListUpdateMillis" title="proximityListUpdateMillis"></a>
	<h3 class="subsubtitle method-title">proximityListUpdateMillis</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Configures the speed at which the <a href="../Protocols/ISFSEvents.html#//api/name/onProximityListUpdate:">[ISFSEvents onProximityListUpdate:]</a> event is sent by the server.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (assign, nonatomic) NSInteger proximityListUpdateMillis</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Configures the speed at which the <a href="../Protocols/ISFSEvents.html#//api/name/onProximityListUpdate:">[ISFSEvents onProximityListUpdate:]</a> event is sent by the server.</p>

<p>In an <a href="../Classes/MMORoom.html">MMORoom</a>, the regular users list is replaced by a proximity list, which keeps an updated view of the users currently within the Area of Interest (AoI) of the current user. The speed at which these updates are fired by the server is regulated by this parameter, which sets the minimum time between two subsequent updates.</p>

<p>NOTE: values below the default might be unnecessary for most applications unless they are in realtime.</p>

<p>Default value is 250 milliseconds.</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Protocols/ISFSEvents.html#//api/name/onProximityListUpdate:">[ISFSEvents onProximityListUpdate:]</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MMORoomSettings.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/sendAOIEntryPoint" title="sendAOIEntryPoint"></a>
	<h3 class="subsubtitle method-title">sendAOIEntryPoint</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Sets if the users entry points in the current user&rsquo;s Area of Interest should be transmitted in the <a href="../Protocols/ISFSEvents.html#//api/name/onProximityListUpdate:">[ISFSEvents onProximityListUpdate:]</a> event.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (assign, nonatomic) BOOL sendAOIEntryPoint</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Sets if the users entry points in the current user&rsquo;s Area of Interest should be transmitted in the <a href="../Protocols/ISFSEvents.html#//api/name/onProximityListUpdate:">[ISFSEvents onProximityListUpdate:]</a> event.</p>

<p>If this setting is set to YES, when a user enters the AoI of another user, the server will also send the coordinates at which the former &ldquo;appeared&rdquo; within the AoI. This option should be turned off in case these coordinates are not needed, in order to save bandwidth.</p>

<p>@default value: YES</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Protocols/User.html#//api/name/aoiEntryPoint">[User aoiEntryPoint]</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MMORoomSettings.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/userMaxLimboSeconds" title="userMaxLimboSeconds"></a>
	<h3 class="subsubtitle method-title">userMaxLimboSeconds</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Defines the time limit before a user without a physical position set inside the <a href="../Classes/MMORoom.html">MMORoom</a> is kicked from the Room.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (assign, nonatomic) NSInteger userMaxLimboSeconds</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Defines the time limit before a user without a physical position set inside the <a href="../Classes/MMORoom.html">MMORoom</a> is kicked from the Room.</p>

<p>As soon as the <a href="../Classes/MMORoom.html">MMORoom</a> is joined, the user still doesn&rsquo;t have a physical position set in the coordinates system, therefore it is considered in a &ldquo;limbo&rdquo; state. At this point the user is expected to set his position (via the <a href="../Classes/SetUserPositionRequest.html">SetUserPositionRequest</a> request) within the amount of seconds expressed by this value.</p>

<p>Default value is 50 seconds.</p>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MMORoomSettings.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
					
					<div class="section section-methods">
						<a title="Class Methods" name="class_methods"></a>
						<h2 class="subtitle subtitle-methods">Class Methods</h2>
						
						<div class="section-method">
	<a name="//api/name/settingsWithName:" title="settingsWithName:"></a>
	<h3 class="subsubtitle method-title">settingsWithName:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>the name of the MMORoom</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>+ (id)settingsWithName:(NSString *)<em>name</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>name</em></dt>
			<dd><p>the name of the MMORoom</p></dd>
		</dl>
		
	</div>
	
	
	
	
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MMORoomSettings.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
					
					<div class="section section-methods">
						<a title="Instance Methods" name="instance_methods"></a>
						<h2 class="subtitle subtitle-methods">Instance Methods</h2>
						
						<div class="section-method">
	<a name="//api/name/initWithName:" title="initWithName:"></a>
	<h3 class="subsubtitle method-title">initWithName:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>the name of the MMORoom</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (id)initWithName:(NSString *)<em>name</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>name</em></dt>
			<dd><p>the name of the MMORoom</p></dd>
		</dl>
		
	</div>
	
	
	
	
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MMORoomSettings.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
                    
                    
				</div>
				<div class="main-navigation navigation-bottom">
					<ul>
	<li><a href="../index.html">Index</a></li>
	<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
				</div>
				<div id="footer">
					<hr />
					<div class="footer-copyright">
						<p><span class="copyright">&copy; 2014 gotoAndPlay() / A51 Integrated. All rights reserved. (Last updated: 2014-10-13)</span><br />
						
						<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2 (build 963)</a>.</span></p>
						
					</div>
				</div>
			</div>
		</article>
		<script type="text/javascript">
			function jumpToChange()
			{
				window.location.hash = this.options[this.selectedIndex].value;
			}
			
			function toggleTOC()
			{
				var contents = document.getElementById('contents');
				var tocContainer = document.getElementById('tocContainer');
				
				if (this.getAttribute('class') == 'open')
				{
					this.setAttribute('class', '');
					contents.setAttribute('class', '');
					tocContainer.setAttribute('class', '');
					
					window.name = "hideTOC";
				}
				else
				{
					this.setAttribute('class', 'open');
					contents.setAttribute('class', 'isShowingTOC');
					tocContainer.setAttribute('class', 'isShowingTOC');
					
					window.name = "";
				}
				return false;
			}
			
			function toggleTOCEntryChildren(e)
			{
				e.stopPropagation();
				var currentClass = this.getAttribute('class');
				if (currentClass == 'children') {
					this.setAttribute('class', 'children open');
				}
				else if (currentClass == 'children open') {
					this.setAttribute('class', 'children');
				}
				return false;
			}
			
			function tocEntryClick(e)
			{
				e.stopPropagation();
				return true;
			}
			
			function init()
			{
				var selectElement = document.getElementById('jumpTo');
				selectElement.addEventListener('change', jumpToChange, false);
				
				var tocButton = document.getElementById('table_of_contents');
				tocButton.addEventListener('click', toggleTOC, false);
				
				var taskTreeItem = document.getElementById('task_treeitem');
				if (taskTreeItem.getElementsByTagName('li').length > 0)
				{
					taskTreeItem.setAttribute('class', 'children');
					taskTreeItem.firstChild.setAttribute('class', 'disclosure');
				}
				
				var tocList = document.getElementById('toc');
				
				var tocEntries = tocList.getElementsByTagName('li');
				for (var i = 0; i < tocEntries.length; i++) {
					tocEntries[i].addEventListener('click', toggleTOCEntryChildren, false);
				}
				
				var tocLinks = tocList.getElementsByTagName('a');
				for (var i = 0; i < tocLinks.length; i++) {
					tocLinks[i].addEventListener('click', tocEntryClick, false);
				}
				
				if (window.name == "hideTOC") {
					toggleTOC.call(tocButton);
				}
			}
			
			window.onload = init;
			
			// If showing in Xcode, hide the TOC and Header
			if (navigator.userAgent.match(/xcode/i)) {
				document.getElementById("contents").className = "hideInXcode"
				document.getElementById("tocContainer").className = "hideInXcode"
				document.getElementById("top_header").className = "hideInXcode"
			}
			
		</script>
	</body>
</html>